Software as a Service (SaaS) refers to an approach for providing users with access to a software application where a service provider hosts the application and makes it accessible over a network. SaaS offerings are typically subscription based, where the software is accessed from a data center (or centers) and does not reside on client computers. This approach allows users to license the ability to access and use the software without having to install or maintain it, and without having to purchase or maintain the necessary computing hardware (e.g., a group of servers).
One type of software application that can be made available as a SaaS offering is collaborative software (also referred to as groupware, workgroup support systems or simply group support systems). Examples of collaborative software applications include systems such as email, calendaring, text chat, document authoring, wiki, and bookmarking software systems. In some cases, users access the system using a dedicate client application (e.g., an email client) but these systems can be accessed using a web-based application accessed using a browser as well. As with other multi-user server systems, collaborative software systems need to respond to changing use demands of a group of users. For example, collaborative software systems frequently have to respond to non-uniform load due to variance in user activity.
SaaS systems often experience a relative utilization lull just prior to a bubble of work, as work hours (and peak usage hours) for a group of users using a given system tend to be relatively synchronized. For example, a spike of activity around a “9 AM arrival time” within an enterprise can routinely place a very high demand on a group of email or other servers. At that time, a batch of new collaborative content may have arrived since users last accessed their systems and a large population of users access the collaborative system within a relatively short period of time (e.g., as a group of employees arrive to work between 8:30-9:30 and all log on to check email messages). One approach for a provider (or an enterprise hosting their own systems) is to provide adequate server capacity to deal with short-term peaks such as the “9 AM arrival” phenomenon, but this can be financially costly and can result in a high degree of system under-utilization. Alternatively, simply providing lower quality of service or poor response time during this period is unsatisfying for users and tends to diminish the value of a SaaS solution.